package com.steel.yfmall.cloud.assistant.view;

import com.steel.yfmall.cloud.assistant.dto.para.view.ParaEndCodeBean;
import com.steel.yfmall.cloud.assistant.dto.result.view.ReusltEndCodeBean;
import com.steel.yfmall.cloud.assistant.dto.zg.ZgViewBean;
import com.steel.yfmall.cloud.assistant.po.view.EndCodeBean;
import com.steel.yfmall.cloud.components.utils.base.APIMsgBean;
import com.steel.yfmall.cloud.components.utils.base.Pages;

import java.util.List;

/**
 * 查询终点代码业务逻辑接口
 *
 * @author jia chang bao
 * @date 2020/11/9 20:37
 */
public interface EndCodeBeanService {
    /**
     * @param paraEndCodeBean 查询终点代码业务条件
     * @return int 总条数
     * @Description 查询终点代码表总条数, 可以有条件或无条件
     * @author jia chang bao
     * @date 2020/11/9 20:37
     */
    long getEndCodeBeanCount(ParaEndCodeBean paraEndCodeBean);

    /**
     * @param paraEndCodeBean 查询终点代码业务条件
     * @return List<EndCodeBean> 分页结果集合
     * @Description 根据条件分页查询终点代码信息（分页）
     * @author jia chang bao
     * @date 2020/11/9 20:37
     */
    Pages<ReusltEndCodeBean> getEndCodeOfPage(ParaEndCodeBean paraEndCodeBean);

    /**
     * @param paraEndCodeBean 查询终点代码业务条件
     * @return List<ReusltEndCodeBean> 不分页结果集合
     * @Description 根据条件不分页查询终点代码信息（不分页）
     * @author jia chang bao
     * @date 2020/11/9 20:37
     */
    List<ReusltEndCodeBean> getEndCodeOfList(ParaEndCodeBean paraEndCodeBean);

    /**
     * @param endCodeBean 终点代码业务条件
     * @return int 受影响行数
     * @Description 新增终点代码信息（单条新增）
     * @author jia chang bao
     * @date 2020/11/9 20:37
     */
    int addEndCode(EndCodeBean endCodeBean);

    /**
     * @param endCodeBeans 终点代码业务条件
     * @return int 受影响行数
     * @Description 批量新增终点代码信息（多条新增）
     * @author jia chang bao
     * @date 2020/11/9 20:37
     */
    int addEndCodeOfList(List<EndCodeBean> endCodeBeans);

    /**
     * @param endCodeBean 终点代码业务条件
     * @return int 受影响行数
     * @Description 根据条件修改终点代码等信息
     * @author jia chang bao
     * @date 2020/11/9 20:37
     */
    int updateEndCode(EndCodeBean endCodeBean);

    /**
     * @param paraEndCodeBean 终点代码业务条件
     * @return int 受影响行数
     * @Description 根据条件删除终点代码等信息
     * @author jia chang bao
     * @date 2020/11/9 20:37
     */
    int deleteEndCode(ParaEndCodeBean paraEndCodeBean);

    /**
     * @param paraEndCodeBeans 终点代码业务条件
     * @return int 受影响行数
     * @Description 批量删除删除终点代码等信息
     * @author jia chang bao
     * @date 2020/11/9 20:37
     */
    int deleteEndCodeOfList(List<ParaEndCodeBean> paraEndCodeBeans);

    /**
     * @param zgViewBean
     * @return 同步成功信息数据
     * @Description 同步中冠终点代码业务信息
     * @author jia chang bao
     * @date 2020/11/9 20:37
     */
    APIMsgBean synchronizationZgEndCode(ZgViewBean zgViewBean);
}
